Micron Document
`:top
The `!Java Foundation Classes`! (`!JFC`!) are a graphical framework for building portable `F33f`_`[Java`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_(programming_language)]`_`f-based `F33f`_`[graphical user interfaces`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Graphical_user_interface]`_`f (GUIs). JFC consists of the `F33f`_`[Abstract Window Toolkit`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Abstract_Window_Toolkit]`_`f (AWT), `F33f`_`[Swing`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Swing_(Java)]`_`f and `F33f`_`[Java 2D`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_2D]`_`f. Together, they provide a consistent user interface for Java programs, regardless of whether the underlying user interface system is `F33f`_`[Windows`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft_Windows]`_`f, `F33f`_`[macOS`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=MacOS]`_`f or `F33f`_`[Linux`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Linux]`_`f.

>>Contents

• `F0af`_`[History`#history]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[External links`#external-links]`_`f

-─

>>History

AWT existed before JFC. `F33f`_`[AWT`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Abstract_Window_Toolkit]`_`f was heavily criticized for being little more than a wrapper around the native graphical capabilities of the host platform. That meant that the standard `F33f`_`[widgets`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Widget_(computing)]`_`f in the AWT relied on those capabilities of the native widgets, requiring the developer to also be aware of the differences between host platforms.

An alternative graphics library called the `F33f`_`[Internet Foundation Classes`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Internet_Foundation_Classes]`_`f was developed in more platform-independent code by `F33f`_`[Netscape`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Netscape_Communications_Corporation]`_`f.

At the same time, another graphics library, called `F33f`_`[Application Foundation Classes`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Application_Foundation_Classes]`_`f (AFC), was developed independently by `F33f`_`[Microsoft`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft]`_`f. It was made to be easier to extend the graphic components, but was primarily aimed for use with the `F33f`_`[Microsoft Java Virtual Machine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft_Java_Virtual_Machine]`_`f.

On April 2, 1997, `F33f`_`[Sun Microsystems`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Sun_Microsystems]`_`f and `F33f`_`[Netscape`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Netscape_Communications_Corporation]`_`f announced their intention to combine IFC with other technologies to form the "Java Foundation Classes".`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f] The "Java Foundation Classes" were later renamed "Swing", adding the capability for a `F33f`_`[pluggable look and feel`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Pluggable_look_and_feel]`_`f of the widgets. This allowed Swing programs to maintain a platform-independent code base, but mimic the look of a native application. The release of JFC made IFC obsolete, and dropped interest for Microsoft's AFC.

Using the Java programming language, Java Foundation Classes (JFC) are pre-written code in the form of class libraries (coded routines) that give the programmer a comprehensive set of graphical user interface (GUI) routines to use. The Java Foundation Classes are comparable to the `F33f`_`[Microsoft Foundation Class Library`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft_Foundation_Class_Library]`_`f (MFC). JFC is an extension of the original Java Abstract Windowing Toolkit (AWT). Using JFC and Swing, an additional set of program components, a programmer can write programs that are independent of the windowing system within a particular operating system.

>>See also

• `F33f`_`[Standard Widget Toolkit`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Standard_Widget_Toolkit]`_`f
• `F33f`_`[Java Class Library`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Class_Library]`_`f

>>References

`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f "Sun and Netscape to jointly develop Java Foundation Classes". `F33f`_`[Netscape Communications Corporation`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Netscape_Communications_Corporation]`_`f. 1997-04-02. Archived from the original on 2012-05-09. Retrieved 2007-07-14.

>>External links

• Official JFC website at Sun

`c`F0af`_`[↑ Back to top`#top]`_`f`a